Frequency Band Extrapolation Beamforming Weight Computation for Wireless Communications

ABSTRACT

Techniques are provided to facilitate the computation of beamforming weights used by a first communication device when sending a transmission via a plurality of antennas to a second communication device where knowledge of the behavior of the channel between the first communication device and the second communication device is limited to a portion of a wide frequency band. A frequency extrapolation beamforming weight computation process is provided to derive knowledge in other frequency subbands based on information contained in the received transmission from the second communication device.

BACKGROUND

In a wideband wireless communication systems the bandwidth of atransmission is usually is much larger than the coherent frequencybandwidth. This implies that the channel signatures in differentfrequency subbands may be mutually uncorrelated. When a firstcommunication device, such as a base station, does not have informationpertaining to the channel signature in all frequency subbands, the useof beamforming techniques at the first communication device whentransmitting to a second communication device, e.g., a specific orparticular mobile station, becomes less reliable. To feedback allestimated channel coefficients in all frequency subbands would requiretoo much overhead in a transmission from the second communication deviceto the first communication device. The term “uplink” is used herein torefer to transmissions from the second communication device to the firstcommunication device and the term “downlink” is used to refer totransmissions from the first communication device to the secondcommunication device.

In time division duplex (TDD) systems, the uplink channel coefficientsmatrix is strongly correlated with the downlink channel coefficientsmatrix. Thus, there is an opportunity to exploit this property in orderto derive knowledge about the channel between the first communicationdevice and the second communication device in any frequency subband.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an example of a block diagram of a wireless communicationsystem in which a base station beamforms messages to mobile stationsusing a wideband communication protocol.

FIG. 2 is an example of a block diagram of a base station that isconfigured to compute downlink beamforming weights using frequencyextrapolation techniques.

FIG. 3 is a diagram illustrating an example of the subcarrierorganization of a symbol in an orthogonal frequency division multipleaccess (OFDMA) system.

FIG. 4 is diagram illustrating an example of cluster grouping ofsubcarriers in one type of OFDMA system.

FIG. 5 is a diagram illustrating a tile structure used in one mode ofone type of OFDMA system.

FIG. 6 is an example of a flow chart for a frequency band extrapolationbeamforming weight computation process.

DETAILED DESCRIPTION Overview

Techniques are provided to facilitate the computation of beamformingweights used by a first communication device when sending a transmissionvia a plurality of antennas to a second communication device whereknowledge of the behavior of the channel between the first communicationdevice and the second communication device is limited to a portion of awide frequency band. A frequency extrapolation beamforming weightcomputation process is provided to derive knowledge in other frequencysubbands based on information contained in the received transmissionfrom the second communication device. The first communication device,e.g., a base station (BS) receives a transmission at its plurality ofantennas from a second communication device, e.g., a mobile station(MS). The transmission uses some but not all frequency subbands within afrequency band space. The first communication device recovers thebaseband signals carried in the frequency subbands in the receivedtransmission. A channel covariance matrix is computed from the basebandsignals in the frequency subbands with respect to the plurality ofantennas of the first communication device. Next, uplink beamformingweights are computed from the baseband signals in the frequency subbandfrom the channel covariance matrix. A spatial projection of the uplinkbeamforming weights is then computed to determine direction of arrivalinformation. A downlink spatial projection for a given frequency subbandis computed from the spatial projection of the uplink beamformingweights. Finally, downlink beamforming weights are computed from thedownlink spatial projection. The downlink beamforming weights are foruse by the first communication device when beamforming a downlinktransmission via the plurality of antennas of the first communicationdevice to the second communication device. According to a furthervariation, frequency domain variations in the channel between the firstcommunication device and the second communication device are derivedbased on difference in time of arrival of signals from differentdirection of arrivals at the plurality of antennas of the firstcommunication device. The downlink spatial projection for a givenfrequency subband is computed from the spatial projection of the uplinkbeamforming weights and the frequency domain variations.

Referring first to FIG. 1, a wireless radio communication system ornetwork is shown generally at reference numeral 5 and comprises a firstcommunication device, e.g., a BS 10, and a plurality of secondcommunication devices, e.g., MS's 20(1)-20(N). The BS 10 may connect toother wired data network facilities (not shown) and in that sense serveas a gateway or access point through which the MS's 20(1)-20(N) haveaccess to those data network facilities.

The BS 10 comprises a plurality of antennas 18(1)-18(m) and the MS's20(1)-20(N) may also comprise a plurality of antennas 22. Thus, thewireless link between the base station 10 and any given mobile stationis a multiple-input multiple-output (MIMO) wireless link that allows thebase station 10 to using beamforming weights dedicated to a particularmobile station when transmitting a message intended for that particularmobile station. The plurality of antennas 18(1)-18(m) on the BS 10 maybe considered an antenna array as may the plurality of antennas 22 onthe MS's 20(1)-20(N).

When the BS 10 sends a transmission to a particular mobile station,e.g., MS 20(2), it applies beamforming weights to the message to betransmitted via the plurality of antennas 18(1)-18(m) to the MS 20(2).The term “beamform” as used herein means that the signals received by acommunication device on its multiple antennas from another device arecoherently combined, and the signals transmitted from multiple antennasof a communication device are weighted in both phase and magnitude sothat they will be coherently combined at the intended destinationcommunication device.

The BS 10 may wirelessly communicate with individual ones of the MS's20(1)-20(N) using a wideband wireless communication protocol in whichthe bandwidth is much larger than the coherent frequency bandwidth.Consequently, the channel signatures in different frequency bands may bemutually uncorrelated and this makes for use of beamforming weights to aparticular MS less reliable since each MS uses only part of the widebandwhen transmitting to the BS 10.

Techniques are provided herein to compute the beamforming weights forall frequency bands by extrapolating from knowledge gained forbeamforming weights in some of the frequency bands. The followingdescription downlink beamforming weights in time division duplex (TDD)orthogonal frequency division multiple access (OFDMA) system, and ismeant only by way of example. These techniques may be used to generatebeamforming weights in any system with frequency mismatch.

These techniques involve low complexity that can significantly improvethe process of downlink beamforming in macrocell/microcell TDD systemseven in the presence of multi-path fading conditions. For example, firstwe estimate instantaneous channel covariance with pilot and data in afew bands, such as from an uplink signals transmitted according to theIEEE 802.16-2005 (or 2007) communication standard known under thecommercial brand WiMAX™, when the partial usage of subchannels (PUSC)mode is used transmission. The instantaneous beamforming weightsassociated with reception of an uplink transmission are computed and theprojection of the beamforming weights is then computed in the receivedtiles, from which the downlink beamforming weights are computed for anyother bands. To reiterate, the techniques described herein areapplicable to the process of setting downlink beamforming weights in anysystem with frequency mismatch, such as in TDD code division multipleaccess (CDMA) systems, and as mentioned above, TDD OFDMA systems.

Turning to FIG. 2, an example of a block diagram of the base station 10is described. The base station 10 comprises the plurality of antennas18(1)-18(m), a transmitter 12, a receiver 14 and a controller 16. Thecontroller 16 supplies the data to the transmitter 12 to be transmittedand processes signals received by the receiver 14. In addition, thecontroller 16 performs other transmit and receive control functionality.Part of the functions of the transmitter 12 and receiver 14 may beimplemented in a modem and other parts of the transmitter 12 andreceiver 14 may be implemented in radio transmitter and radiotransceiver circuits. It should be understood that there areanalog-to-digital converters (ADCs) and digital-to-analog converters(DACs) in the various signal paths to convert between analog and digitalsignals.

The transmitter 12 may comprise individual transmitter circuits thatsupply respective upconverted signals to corresponding ones of theantennas 18(1)-18(M) for transmission. The receiver 14 receives thesignals detected by each of the antennas 18(1)-18(M) and suppliescorresponding antenna-specific receive signals to controller 16. It isunderstood that the receiver 14 may comprise a plurality of receivercircuits, each for a corresponding one of the antennas 18(1)-18(M). Forsimplicity, these individual receiver circuits and individualtransmitter circuits are not shown. There is a beamforming module 13that may reside within or separate from the transmitter 12. Thebeamforming module 13 comprises logic that applies beamforming antennaweights to a signal to be transmitted (hereinafter called a “transmitsignal”) in order to generate a corresponding ones of a plurality ofweighted signals that are supplied to respective ones of the pluralityof antennas 18(1)-18(M).

The controller 16 comprises a memory 17 or other data storage block thatstores data used for the techniques described herein. The memory 17 maybe separate or part of the controller 16.

The beamforming module 13 and controller 16 may be implemented by logicencoded in one or more tangible media (e.g., embedded logic such as anapplication specific integrated circuit, digital signal processorinstructions, software that is executed by a processor, etc.), whereinthe memory 17 stores data used for the computations described herein(and/or to store software or processor instructions that are executed tocarry out the computations described herein). To this end, logic isprovided in any of these forms to execute a frequency band extrapolationbeamforming weight computation process shown at 100. The process 100 isdescribed in more detail hereinafter in conjunction with FIG. 6. In oneexample shown in FIG. 1, the logic for the process 100 may compriseprocessor readable instructions that are stored in the memory 17, or itmay be embodied by any of the other aforementioned types of logic.Furthermore, while FIG. 2 shows that the controller 16 is configured tocompute the beamforming weights, this is not meant to be limiting. Forexample, the logic to perform these computations may be implemented in acontroller or block that is local and dedicated to the transmitter 12,and separate from the controller 16.

Description of the frequency band extrapolation beamforming weightcomputation process 100 is described in connection with a TDD-OFDMAsystem, such as that used in a WiMAX™ communication system. OFDMexploits the frequency diversity of the multipath channel by coding andinterleaving the information across the subcarriers prior totransmissions. In an OFDM system, information related to a transmissionis available in the time domain by means of OFDM symbols and in thefrequency domain by means of subcarriers. The time and frequencyresources can be organized into sub-channels for allocation toindividual users. OFDMA is a multiple-access/multiplexing scheme thatprovides multiplexing operation of data streams for multiple users ontothe downlink sub-channels and uplink multiple-access by means of uplinksub-channels.

Turning to FIG. 3, a diagram is shown illustrating an example of astructure of an OFDMA symbol. The OFDMA symbol structure comprises threetypes of subcarriers as shown in FIG. 3: data subcarriers for datatransmission, pilot subcarriers for estimation and synchronizationpurposes, and null subcarriers for no transmission but used as guardbands and for DC carriers. Active (data and pilot) subcarriers aregrouped into subsets of subcarriers called subchannels for use in boththe uplink and downlink. For example, in a WiMAX™ system, the minimumfrequency-time resource unit of sub-channelization is one slot, which isequal to 48 data tones (subcarriers).

Furthermore, in a WiMAX system there are two types of subcarrierpermutations for sub-channelization; diversity and contiguous. Thediversity permutation allocates subcarriers pseudo-randomly to form asub-channel, and in so doing provides for frequency diversity andinter-cell interference averaging. The diversity permutations comprise afully used subcarrier (FUSC) mode for the downlink and a partially usedsubcarrier (PUSC) mode for the downlink and the uplink. In the downlinkPUSC mode, for each pair of OFDM symbols, the available or usablesubcarriers are grouped into “clusters” containing 14 contiguoussubcarriers per symbol period, with pilot and data allocations in eachcluster in the even and odd symbols as shown in FIG. 4.

A re-arranging scheme is used to form groups of clusters such that eachgroup is made up of clusters that are distributed throughout a widefrequency band space spanned by a plurality of subcarriers. The term“frequency band space” refers to the available frequency subcarriersthat span a relatively wide frequency band in which the OFMDA techniquesare used. When the FFT size L=128, a sub-channel in a group contains two(2) clusters and is made up of 48 data subcarriers and eight (8) pilotsubcarriers. When the FFT size L=512, a downlink PUSC sub-channel in amajor group contains some data subcarriers in ten (10) clusters and ismade up of 48 data subcarriers and can use eight (8) pilot subcarriers.

The data subcarriers in each group are further permutated to generatesubchannels within the group. Therefore, only the pilot positions in thecluster are shown in FIG. 4. The data subcarriers in the cluster aredistributed to multiple subchannels.

Analogous to the cluster structure for a downlink transmission, a “tile”structure is defined for the uplink PUSC mode whose format is shown inFIG. 5. The available subcarriers in the frequency band space is splitinto tiles and six (6) tiles, chosen from across the entire spectrum bymeans of a re-arranging/permutation scheme, are grouped together to forma slot. The slot comprises 48 data subcarriers and 24 pilot subcarriersin 3 OFDM symbols. In other words, a tile is a group of data subcarriersdispersed throughout a frequency band space together with pilotsubcarriers, across 3 OFDM symbols.

The foregoing description of one example of a TDD OFMDA system withrespect to FIGS. 4 and 5 is provided by way of background for thedescription of the process 100 described hereinafter. In particular,process 100 described hereinafter involves estimating an uplink channelcovariance matrix in some PUSC subchannels to generate downlinkbeamforming weights in a TDD OFDMA system.

With reference to FIG. 6, the process frequency band extrapolationbeamforming weight computation process 100 is now described. At 110, theBS 10 receives an uplink transmission from a specific MS. The uplinktransmission uses some, but not all frequency bands (subcarriers)available in the OFDMA symbol space, which is inherently the case when aMS transmits using the PUSC mode. For example, referring back to FIG. 5the specific MS may be assigned to several uplink subchannels. There are6 PUSC tiles in one subchannel, and in one PUSC tile, there are 12signals that transmit 4 pilot signals or 8 data signals. The process 100uses all 12 signals to estimate an uplink channel covariance matrix forone PUSC tile. At 120, the baseband signals for the received PUSC tilesare recovered from the received uplink transmission.

At 130, the uplink channel covariance matrix R_(i) is estimated for eachuplink tile. The instantaneous uplink channel covariance matrix R_(i) inthe frequency domain for the specific MS is defined as a group ofmatrices {R_(i) _(n) }_(n=1) ^(J), where J is the number of tiles, andi₁, i₂, . . . , i_(j) are the indices of received signals' subcarriersin J tiles respectively. One index of subcarriers in the nth receivedPUSC tile may be i_(n). Let size of FFT, the maximum number ofsubcarriers, be L, 1≦i₁<i₂< . . . <i_(J)≦L. For example, in an uplinkPUSC tile, S_(j,q)(m) for 1≦m≦M denotes the received frequency domainsignals on the jth subcarrier, the qth symbol, and mth antenna of the BS10, where M is the number of antennas (18(1)-18(m)) at the BS 10. Theinstantaneous channel covariance matrix R_(i) _(n) is computed as

$R_{i_{n}} = {\frac{1}{12}{\sum\limits_{j}{\sum\limits_{q}{\begin{bmatrix}{S_{j,q}(1)} \\{S_{j,q}(2)} \\\vdots \\{S_{j,q}(M)}\end{bmatrix}\begin{bmatrix}{S_{j,q}(1)} \\{S_{j,q}(2)} \\\vdots \\{S_{j,q}(M)}\end{bmatrix}}^{H}}}}$

where H denotes the Hermitian operation. There are four subcarriers andthree symbols in above computation. If the BS receives a MS's severalslots signals in the same PUSC subchannels coherently, an averageestimated uplink channel covariance matrix R_(i) _(n) may be computed.

At 140, the beamforming weights of the uplink tiles are estimated usingthe channel covariance matrices computed at 130. Two methods aredescribed herein to compute the beamforming weights of uplink tiles. Thefirst method is based on the columns of the uplink channel covariancematrices {R_(i) _(n) }_(n=1) ^(J). The second method is based on therows of the uplink channel covariance matrices {R_(i) _(n) }_(n=1) ^(J).

Sum Algorithm Based on Column Vectors

The first method using the columns of the uplink channel covariancematrices is now described. Based on the J estimated uplink channelcovariance matrix {R_(i) _(n) }_(n=1) ^(J), let R_(i) _(n) =[r_(i) _(n)_(,1) r_(i) _(n) _(,2) . . . r_(i) _(n) _(,M)], where r_(i) _(n) _(,m),for 1≦m≦M, is the mth column vector in R_(i) _(n) . Applying the maximumratio combining, the sum of the columns of the uplink channel covariancematrix R_(i) _(n) is computed as: U_(i) _(n) =r_(i) _(n) _(,1)+e^(jθ) ²r_(i) _(n) _(,2)+ . . . +e^(jθ) ^(M) r_(i) _(n) _(,M) where e^(jθ) ^(m)={r_(i) _(n) _(,m)}^(H) r_(i) _(n) _(,1)/(abs({r_(i) _(n)_(,m)}^(H)r_(i) _(n) _(,1))), for 2≦m≦M, is the phase rotation of themth column related to the first column. The abs( ) denotes for absoluteoperation.

The sum of the columns of the uplink channel covariance matrix isnormalized to obtain the beamforming weight W_(i) _(n) as W_(i) _(n)=U_(i) _(n) /(norm (U_(i) _(n) )) where norm( ) is the Euclidean normoperation. After applying above sum algorithm to the estimated uplinkchannel covariance matrix {R_(i) _(n) }_(n=1) ^(J) in received J uplinktile, a group of the beamforming weights vectors {W_(i) _(n) }_(n=1)^(J) is obtained for all received J uplink tiles.

Sum Algorithm Based on Row Vectors

The second method using rows of the uplink channel covariance matricesis now described. Based on the J estimated uplink channel covariancematrix {R_(i) _(n) }_(n=1) ^(J), let

${R_{i_{n}} = \begin{bmatrix}{\overset{\sim}{r}}_{i_{n},1} \\{\overset{\sim}{r}}_{i_{n},2} \\\vdots \\{\overset{\sim}{r}}_{i_{n},M}\end{bmatrix}},$

where {tilde over (r)}_(i) _(n) _(,m), for 1≦m≦M, is the mth row vectorin R_(i) _(n) . Applying maximum ratio combining, the sum of the rows ofthe uplink channel covariance matrix R_(i) _(n) is computed as: U_(i)_(n) ={{tilde over (r)}_(i) _(n) _(,1)+e^(jφ) ² {tilde over (r)}_(i)_(n) _(,2)+ . . . +e^(jφ) ^(M) {tilde over (r)}_(i) _(n) _(,M)}^(H),where e^(jφ) ^(m) ={tilde over (r)}_(i) _(n) _(,1){{tilde over (r)}_(i)_(n) _(,m)}^(H)/(abs({tilde over (r)}_(i) _(n) _(,1){{tilde over(r)}_(i) _(n) _(,m)}^(H))), for 2≦m≦M, is the phase rotation of the mthrow related to the first row. The abs( ) denotes the absolute operation.

The sum of the rows of the uplink channel covariance matrix isnormalized to obtain the beamforming weight W_(i) _(n) as: W_(i) _(n)=U_(i) _(n) /(norm (U_(i) _(n) )), where norm( ) is the Euclidean normoperation. After applying sum algorithm to the estimated uplink channelcovariance matrix {R_(i) _(n) }_(n=1) ^(J) in received J uplink tile, agroup of the beamforming weights vectors {W_(i) _(n) }_(n=1) ^(J) isobtained for all received J uplink tiles.

Next, at 150, a spatial projection is computed for the beamformingweights of the uplink tiles. Conceptually, the space in which the BS 10resides is divided into N_(subsector) spatial subsectors or segments.Using the beamforming weights {W_(i) _(n) }_(n=1) ^(J) that are computedat 140, the spatial projection of the estimated beamforming weights ofthe J uplink tiles to N_(subsector) subsectors is computed.

It is well known that if the absolute value of the spatial projection toa subsector is large, the signal should be received in the direction ofthe corresponding subsector. In other words, the direction of arrival(DOA) of desired signals is the direction of the correspondingsubsector. On the other hand, if the absolute value of the spatialprojection to a subsector is very small, the desired signals are saidnot to arrive from the direction of the corresponding subsector,implying that the value of projection is generated by noise and thenoise part should be removed from the estimated beamforming weights toimprove the beamforming performance.

The values of the spatial projection are complex values. Two spatialprojection computation methods are described herein: a Fast FourierTransform (FFT) spatial projection method and a general spatialprojection method. When the BS's antenna array of is linear,equal-spaced and the spacing is approximately half wavelength, the FFTspatial projection method may be the preferred technique because the FFTspatial projection method is very efficient with good performance andlow computation complexity. However, if the BS's antenna array is anyother antenna pattern, the general spatial projection method may beused.

FFT Spatial Projection Method

The FFT spatial projection method is now described. For each beamformingweight vector W_(i) _(n) the group of the beamforming weights vectors{W_(i) _(n) }_(n=1) ^(J), an FFT operation is applied with FFT sizeN_(subsector), to obtain the spatial projection gain vector inN_(subsector) subsectors as: G_(i) _(n) =FFT(W_(i) _(n) ,N_(subsector)). The number of subsectors N_(subsector) may be selectedto be larger than or equal to the number of antennas M of the BS 10. Forexample, if the number of antennas M of BS 10 is eight (8), the numberof subsectors N_(subsector) may be selected to be 16. When the number ofantennas M is smaller than the number of subsectors N_(subsector), zeropadding may be applied to the vector W_(i) _(n) in order to implementthe FFT operation with size N_(subsector).

The spatial projection gain vector G_(i) _(n) is denoted: G_(i) _(n)=[g_(i) _(n) _(,1) g_(i) _(n) _(,2) . . . g_(i) _(n) _(,N) _(subsector)]^(T), where the scalar g_(i) _(n) _(,k) is the complex-valued spatialprojection gain for the subsector k and the received uplink tile n. Tdenotes the Transpose operation.

Next, for each subsector k, where 1≦k≦N_(subsector), the spatialprojection gains in all J received uplink tiles are combined as:

${P_{k} = {\sum\limits_{n = 1}^{J}{{g_{i},k}}^{2}}},$

where |x| is the absolute value of x.

For the purpose of estimating the DOA of signals from the specific MS(based on the computed uplink beamforming weights), a thresholdP_(threshold) is used. For example, the threshold P_(threshold) is setas:

${P_{threshold} = {{\frac{1}{N_{subsector}}{\sum\limits_{k = 1}^{N_{subsector}}P_{k}}} - {\frac{1}{3}10^{S\; N\; {R/10}}\sqrt{\frac{1}{N_{subsector} - 1}{\sum\limits_{k = 1}^{N_{subsector}}{{P_{k} - {\frac{1}{N_{subsector}}{\sum\limits_{k = 1}^{N_{subsector}}P_{k}}}}}^{2}}}}}},$

where SNR is the estimated physical signal-to-noise ratio (SNR) in thereceived PUSC subchannels from the specific MS.

When P_(k)<P_(threshold), the spatial projection gain of subsector k isdetermined to be due to noise/interference. In this case, the spatialprojection is updated in order to remove the projection gain ofnoise/interference in some subsectors by setting

$g_{i_{n},k} = \{ \begin{matrix}0 & {if} & P_{k} & < & P_{threshold} \\g_{i_{n},k} & {if} & P_{k} & \geq & P_{threshold}\end{matrix} $

for all received uplink tiles (1≦n≦J) After this updating process (ifnecessary), a group of updated complex-valued spatial projection gainvalues g_(i) _(n) _(,k), for 1≦n≦J and 1≦k≦N_(subsector) is obtained.

General Spatial Projection Method

Let A(θ,λ) denote an array steering vector (or array response vector)for the DOA (direction of arrival) θ, and λ the uplink or downlinkcarrier wavelength (λ_(UL) or λ_(DL)). F or example, for a uniformcircular array (UCA),

${A( {\theta,\lambda} )} = \begin{bmatrix}^{{- j}\frac{2\pi \; r}{\lambda}{\cos {(\theta)}}} & ^{{- j}\frac{2\pi \; r}{\lambda}{\cos {({\theta - \frac{2\pi}{M}})}}} & \ldots & ^{{{- j}\frac{2\pi \; r}{\lambda}{\cos {({\theta - \frac{{({M - 1})}2\pi}{M}})}}})}\end{bmatrix}^{T}$

where T stands for Transpose operation and r is the radius of thecircular array. For a uniform linear array (ULA),

${A( {\theta,\lambda} )} = \begin{bmatrix}1 & ^{j\frac{2\pi \; D}{\lambda}{\sin {(\theta)}}} & \ldots & ^{j\frac{2\pi \; D}{\lambda}{({M - 1})}{\sin {(\theta)}}}\end{bmatrix}^{T}$

where D is the distance between two adjacent antennas. The arraysteering (response) vector A(θ, λ) is used to generate a projectionmatrix Ξ.

For each subsector, an angle φ_(k) is chosen in the subsector, for1≦k≦N_(subsector). The projection matrix is computed as: Ξ=[A(φ₁, λ)A(φ₂, λ) . . . A(φ_(N) _(subsector) ,λ)]. For each beamforming weightvector W_(i) _(n) in the group of the beamforming weights vectors {W_(i)_(n) }_(n=1) ^(J), the projection matrix Ξ is applied to the beamformingweight vector W_(i) _(n) , to obtain the spatial projection gain vectorin N_(Subsector) subsectors as G_(i) _(n) =Ξ^(H)W_(i) _(n) , where Hdenotes the Hermitian operation.

The number of subsectors N_(subsector) may be set to be greater than orequal to the number of antennas M in base station, as described above,such that the angle range of a subsector approximately 10 degrees.

The spatial projection gain vector G_(i) _(n) is denoted G_(i) _(n)=[g_(i) _(n) _(,1) g_(i) _(n) _(,2) . . . g_(i) _(n) _(,N) _(subsector)]^(T), where the scalar g_(i) _(n) _(,k) is the complex-valued spatialprojection gain for the subsector k and the received uplink tile n.Next, for each subsector k, where 1≦k≦N_(subsector), the spatialprojection gains in all J received uplink tiles are combined as

${P_{k} = {\sum\limits_{n = 1}^{J}{g_{i_{n},k}}^{2}}},$

where | | denotes the absolute value operation. At this point, thetechnique of updating of the spatial projection gain, described abovefor the FFT spatial projection computation method, is also used hereusing a P_(threshold).

Next, at 160, the frequency domain variation is computed by estimatingthe time difference between signals from different DOAs. As indicatedabove, a DOA is determined based on the subsector-based spatialprojection computation at 150. The variation of channel information infrequency domain is due to the difference in arrival of multipathsignals. Since it is desired to track the variation of ideal beamformingweights in all frequency bands, the time difference between signals fromdifferent DOAs is estimated.

To this end, first, the subsector/DOA with the maximum power is denotedk_(max), where k_(max)=arg max P_(k).

For each tile in J received uplink tiles, the value of the spatialprojection in the subsector/DOA is divided by k_(max), to compute thevector of the relative spatial projection gain {tilde over (G)}_(i) _(n)as:

$\begin{matrix}{{\overset{\sim}{G}}_{i_{n}} = \frac{G_{i_{n}}}{g_{i_{n},k_{\max}}}} \\{= \frac{\begin{bmatrix}g_{i_{n},1} & g_{i_{n},2} & \ldots & g_{i_{n},N_{subsector}}\end{bmatrix}^{T}}{g_{i_{n},k_{\max}}}} \\{= \begin{bmatrix}{\overset{\sim}{g}}_{i_{n},1} & {\overset{\sim}{g}}_{i_{n},2} & \ldots & {\overset{\sim}{g}}_{i_{n},N_{subsector}}\end{bmatrix}^{T}}\end{matrix}.$

The calculation of relative spatial projection gain G_(i) _(n) removesthe phase shift generated in the process of estimation of thebeamforming weights in the received uplink tile n.

Next, the time difference between all estimated DOAs where |{tilde over(g)}_(i) _(n) _(,k)|>0 and the DOA with the maximum power that is insubsector k_(max). For each kε[1, N_(subsector)], if |{tilde over(g)}_(i) _(n) _(,k)|>0, the following computations are made:

-   -   (1) Form a row vector

${{Q_{k}\mspace{14mu} {as}\mspace{14mu} Q_{k}} = {\frac{\begin{bmatrix}{\overset{\sim}{g}}_{2,k} & {\overset{\sim}{g}}_{3,k} & \ldots & {\overset{\sim}{g}}_{J,k}\end{bmatrix}}{{\overset{\sim}{g}}_{1,k}} = \begin{bmatrix}q_{1,k} & q_{2,k} & \ldots & q_{{J - 1},k}\end{bmatrix}}},$

-   -    where q_(v,k) for 1≦v≦J−1 is the element in the vector Q_(k).        The row vector Q_(k) is computed to remove the common phase        shift for all frequency bands by taking the relative values to        the first received tile.    -   (2) Update Q_(k) by normalizing each element in Q_(k) as

${Q_{k}\begin{matrix}{= \begin{bmatrix}\frac{q_{1,k}}{q_{1,k}} & \frac{q_{2,k}}{q_{2,k}} & \ldots & \frac{q_{{J - 1},k}}{q_{{J - 1},k}}\end{bmatrix}} \\{= \begin{bmatrix}{\overset{\sim}{q}}_{1,k} & {\overset{\sim}{q}}_{2,k} & \ldots & {\overset{\sim}{q}}_{{J - 1},k}\end{bmatrix}}\end{matrix}},$

-   -    where |q_(v,k)| is the absolute value of q_(v,k) for 1≦v≦J−1,        and {tilde over (q)}_(v,k) for 1≦v≦J−1 is the element in the        updated vector Q_(k).    -   (3) Obtain the frequency difference between the nth tile for        2≦n≦J and the first tile as F_(diff)=[f₁ f₂ . . .        f_(J−1)]^(T)=[i₂−i₁ i₃−i₁ . . . i_(J)−i₁]^(T), where T stands        for Transpose operation. The frequency difference is in the        units of subcarrier spacing frequency.    -   (4) Set the range of time difference in the unit of sampling        interval. First, denote a vector D_(k) as        D_(k)=[|q_(2,k)−q_(1,k)|, |q_(3,k)−q_(2,k)|, . . . ,        |q_(J−1,k)−q_(J−2,k)|]=[d_(1,k) d_(2,k) . . . d_(J−2,k)]        -   Calculate the mean value of the all elements in the vector            D_(k) as

${\overset{\_}{d}}_{k} = {\frac{1}{J - 2}{\sum\limits_{v = 1}^{J - 2}d_{v,k}}}$

-   -   -   Then set the vector of time difference T_(diff) as

$T_{{diff},k} = \{ \begin{matrix}\lbrack {- {c_{1}:c_{1}}} \rbrack & {if} & {{\overset{\_}{d}}_{k} > a_{1}} \\\lbrack {- {c_{2}:c_{2}}} \rbrack & {if} & {a_{1} \geq {\overset{\_}{d}}_{k} > a_{2}} \\\lbrack {- {c_{3}:c_{3}}} \rbrack & {if} & {{\overset{\_}{d}}_{k} \leq a_{2}}\end{matrix} $

-   -   -   where T_(diff,k)=[τ₁ τ₂ . . . τ_(N) _(time) ], N_(time) is            the number of elements of the vector of time difference, a₁,            a₂, c₁, c₂, c₃ are practical parameters.

    -   (5) Generate the phase matrix Φ as Φ=2πF_(diff)T_(diff,k)/L,        where, for example, L is the FFT size of FFT in a WiMAX        communication system.

    -   (6) Process the fine searching. For example, obtain the three        minimum peaks corresponding to three values of the time        difference. First, calculate a matrix as

$\begin{matrix}{E_{{diff},k} = {{abs}( {^{j\Phi} - {{kron}( {{{ones}( {N_{time},1} )},Q_{k}} )}} )}} \\{= \begin{bmatrix}ɛ_{f_{1},\tau_{1}} & ɛ_{f_{1},\tau_{2}} & \ldots & ɛ_{f_{1},\tau_{N_{time}}} \\ɛ_{f_{2},\tau_{1}} & ɛ_{f_{2},\tau_{2}} & \ldots & ɛ_{f_{2},\tau_{N_{time}}} \\\vdots & \vdots & ⋰ & \vdots \\ɛ_{f_{J - 1},\tau_{1}} & ɛ_{f_{J - 1},\tau_{2}} & \ldots & ɛ_{f_{J - 1},\tau_{N_{time}}}\end{bmatrix}}\end{matrix}$

-   -    where kron(X,Y) is the Kronecker tensor product of X and Y,        ones(N,1) is a column vector with N ones, and abs( ) stands for        taking absolute value of each element in the matrix. ε_(f) _(v)        _(,τ) _(u) , for 1≦v≦J−1 and 1≦u≦N_(time), is an element in the        matrix E_(diff,k). The three values of the time difference which        are corresponding the three minimum peaks are obtained as

$\begin{bmatrix}\tau_{{peak}\mspace{11mu} 1} & \tau_{{peak}\mspace{11mu} 2} & \tau_{{peak}\mspace{11mu} 3}\end{bmatrix} = {\arg {\; \;}{\min\limits_{\tau_{u}}\{ {\sum\limits_{v = 1}^{J - 1}ɛ_{f_{v},\tau_{u}}} \}}}$

-   -   (7) Update the vector of time difference T_(diff) as

$T_{{diff},k} = {\begin{bmatrix}{{{\tau_{{peak}\mspace{11mu} 1} + \lbrack {\frac{- 1}{2}\mspace{14mu} \frac{- 1}{4}\mspace{14mu} 0\mspace{14mu} \frac{1}{4}\mspace{14mu} \frac{1}{2}} \rbrack},}\mspace{11mu}} \\{\; {{\tau_{{peak}\mspace{11mu} 2} + \lbrack {\frac{- 1}{2}\mspace{14mu} \frac{- 1}{4}\mspace{14mu} 0\mspace{14mu} \frac{1}{4}\mspace{14mu} \frac{1}{2}} \rbrack},}} \\{{\tau_{{peak}\mspace{11mu} 3} + \lbrack {\frac{- 1}{2}\mspace{14mu} \frac{- 1}{4}\mspace{14mu} 0\mspace{14mu} \frac{1}{4}\mspace{14mu} \frac{1}{2}} \rbrack},}\end{bmatrix}.}$

-   -   (8) Update the phase matrix Φ as    -   Φ=2πF_(diff)T_(diff,k)/L, where L is the size of FFT in the        WiMAX communication system.    -   (9) Finally, the time difference α_(k) between the kth subsector        and the k_(max)th subsector is obtained. First, calculate a        matrix as

$\begin{matrix}{E_{{diff},k} = {{abs}( {^{j\Phi} - {{kron}\mspace{11mu} ( {{{ones}\mspace{11mu} ( {15,1} )},Q_{k}} )}} )}} \\{= \begin{bmatrix}ɛ_{f_{1},\tau_{1}} & ɛ_{f_{1},\tau_{2}} & \ldots & ɛ_{f_{1},\tau_{15}} \\ɛ_{f_{2},\tau_{1}} & ɛ_{f_{2},\tau_{2}} & \ldots & ɛ_{f_{2},\tau_{15}} \\\vdots & \vdots & ⋰ & \vdots \\ɛ_{f_{J - 1},\tau_{1}} & ɛ_{f_{J - 1},\tau_{2}} & \ldots & ɛ_{f_{J - 1},\tau_{15}}\end{bmatrix}}\end{matrix}$

-   -   where kron(X,Y) is the Kronecker tensor product of X and Y,        ones(15,1) is a column vector with 15 ones, and abs( ) stands        for taking absolute value of each element in the matrix. ε_(f)        _(v) _(,τ) _(u) , for 1≦v≦J−1 and 1≦u≦15, is a element in the        matrix E_(diff,k). Then the values of the time difference which        correspond to the minimum peak as

$\tau_{peak} = {\arg \; {\min\limits_{\tau_{u}}{\{ {\sum\limits_{v = 1}^{J - 1}ɛ_{f_{v},\tau_{u}}} \} \mspace{14mu} {are}\mspace{14mu} {{obtained}.}}}}$

-   -   Finally the time difference α_(k) between the kth subsector and        the k_(max)th subsector as        -   α_(k)=τ_(peak) is obtained. A group of time difference            values {α_(k)} are those computed for all subsectors with            |{tilde over (g)}_(i) _(n) _(,k)|>0.

Next, at 170, the estimated spatial projection for any frequency band yis computed. Two methods are described herein to estimate the spatialprojection gain for frequency band y. The first method is based on thephase rotation of the spatial projection in the closest received tileand the second method is based on the estimated parameters of a mainpath in each subsector. The performance of the second method is slightlybetter than that of the first method in low SNR conditions.

Phase Rotation of the Spatial Projection in the Closest Received TileMethod

Assume it is desired to estimate the spatial projection gain of theindex of the subcarrier y. First we calculate the index of the closestreceived tile as i_(closest)=arg min I y -1, I ,

where 1≦n≦J. For kε[1, N_(subsector)] applying the time difference α_(k)and the FFT size L in a WiMAX system, the spatial projection gain forthe frequency subcarrier y is obtained as

${\overset{\sim}{g}}_{y,k} = \{ {\begin{matrix}{{\overset{\sim}{g}}_{i_{closest},k}^{{{j2\pi\alpha}_{k}{({y - i_{closest}})}}/L}} & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{closest},k}}} > 0} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{closest},k}}} = 0}\end{matrix},{where}} $

2πα_(k) (y−i_(closest))/L is the phase rotation to the spatialprojection gain of the closest received tile.

If it is desired to estimate downlink beamforming weights in a frequencyband spanned by Y subcarriers y_(l), the estimated spatial projectiongain for each subcarrier y_(l) is computed as {tilde over (G)}_(y) _(l)=[{tilde over (g)}_(y) _(l) _(,1) {tilde over (g)}_(y) _(l) _(,2) . . .{tilde over (g)}_(y) _(l) _(,N) _(subsector) ]^(T), where T stands forTranspose operation, and 1≦l≦Y.

Phase Rotation Based on Parameters of Main Path Per Subsector Method

Based on a group of values of the time difference {α_(k)} between thekth subsector and the k_(max)th subsector, for all k with |{tilde over(g)}_(i) _(n) _(,k)|>0, e a vector Ω_(k) is computed as Ω_(k)=e^(j2πα)^(k) ^([i) ¹ ^(i) ² ^(. . . i) ^(j) ^(]/L).

Combining the vector Ω_(k) and the spatial projection gain in J receiveduplink tiles {tilde over (g)}_(i) _(n) _(,k), for 1≦n≦J the parameterh_(k) of main path in kth subsector is obtained as h_(k)=[{tilde over(g)}_(i) ₁ _(,k) {tilde over (g)}_(i) ₂ _(,k) . . . {tilde over (g)}_(i)_(J) _(,k)]Ω_(k) ^(H), where H stands for Hermitian operation.

Based on the parameters {h_(k)}, the spatial projection gain in Jreceived uplink tile is

updated as

${\overset{\sim}{g}}_{i_{n},k} = \{ {\begin{matrix}{h_{k}^{{j2\pi\alpha}_{k}{i_{n}/L}}} & {{{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{n},k}}} > 0}\;} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{n},k}}} = 0}\end{matrix}.} $

If it is desired to estimate the spatial projection gain in a frequencyband spanned by Y subcarriers y_(l), the spatial projection gain foreach subcarrier y_(l), is computed as

${\overset{\sim}{g}}_{y,k} = \{ {\begin{matrix}{h_{k}^{{j2\pi\alpha}_{k}{y/L}}} & {{{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{1},k}}} > 0}\;} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{1},k}}} = 0}\end{matrix},} $

where 2πα_(k)y/L is the phase rotation based on parameter of main pathin kth subsector.

If it is desired to estimate downlink beamforming weights in a frequencyband spanned by Y subcarriers y_(l) the estimated spatial projectiongain for each subcarrier y_(l) is computed as {tilde over (G)}_(y) _(l)=[{tilde over (g)}_(y) _(l) _(, {tilde over (g)}) _(y) _(l) _(,2) . . .{tilde over (g)}_(y) _(l) _(,N) _(subsector) ]^(T), where T stands forTranspose operation, and 1≦l≦Y.

Now, at 180, the downlink beamforming weights are computed by spatialinversion. At 170, the vector of the N_(subsector) spatial projectiongain for each desired frequency band was computed {tilde over (G)}_(y)_(l) for 1≦l≦Y. Using the spatial projection information computed at150, two methods of inversion of the spatial projection are provided tocompute the downlink beamforming weights. If the FFT spatial projectionmethod is employed at 150, then an Inverse FFT (IFFT)-based inversionmethod is used as described below to compute the estimated downlinkbeamforming weights. If the general spatial projection method isemployed at 150, then a general method of version of the spatialprojection is used as described hereinafter.

IFFT-Based Inversion of Spatial Projection Method

For the estimated spatial projection vector {tilde over (G)}_(y) _(l) inthe group of the estimated spatial projection vectors {{tilde over(G)}_(y) _(l) }_(l=1) ^(Y), an IFFT operation with size N_(subsector) isused to obtain the vector of the inversion of the spatial projection as{tilde over (W)}_(y) _(l) =IFFT ({tilde over (G)}_(y) _(l) ,N_(subsector))=[{tilde over (w)}_(y) _(l) _(,1) {tilde over (w)}_(y)_(l) _(,2) . . . {tilde over (w)}_(y) _(l) _(,N) _(subsector) ]^(T).Finally, the estimated beamforming weights W_(y) _(l) in a frequencyband spanned by Y subcarriers y_(l) can be computed as {tilde over(W)}_(y) _(l) =[{tilde over (w)}_(y) _(l) , {tilde over (w)}_(y) _(l)_(,2) . . . {tilde over (w)}_(y) _(l) _(,M)]^(T)/norm{[{tilde over(w)}_(y) _(l) _(,1) {tilde over (w)}_(y) _(l) _(,2) . . . {tilde over(w)}_(y) _(l) _(,M)]^(T)}, for 1≦l≦Y. For example, if we estimate abeamforming weights for each downlink PUSC cluster, Y=30 when the FFTsize L=512.

General Method of Inversion of Spatial Projection

For each estimated spatial projection vector {tilde over (G)}_(y) _(l)in the group of the estimated spatial projection vectors {{tilde over(G)}_(y) _(l) }_(l=1) ^(Y), the projection matrix Ξ is applied to theestimated spatial projection vector {tilde over (G)}_(y) _(l) , toobtain the vector of the inversion of the spatial projection as {tildeover (W)}_(y) ₁ ={ΞΞ^(H)}⁻¹Ξ{tilde over (G)}_(y) _(l) =[{tilde over(w)}_(y) _(l) _(,1) {tilde over (w)}_(y) _(l) _(,2) . . . {tilde over(w)}_(y) ₁ _(,M)]^(T). Finally, the estimated beamforming weights W_(y)_(l) in a frequency band spanned by Y subcarriers y_(l) can be computedas W_(y) _(l) =[{tilde over (w)}_(y) _(l) _(,1) {tilde over (w)}_(y)_(l) _(,2) . . . {tilde over (w)}_(y) ₁ _(,M)]^(T)/norm{[{tilde over(w)}_(y) _(l) _(,1) {tilde over (w)}_(y) _(l) _(,2) . . . {tilde over(w)}_(y) _(l) _(,M)]^(T)}, for 1≦≦Y. For example, if we estimate abeamforming weights for each downlink PUSC cluster, Y=30 when the FFTsize L=512.

Compared to methods heretofore known, the techniques described hereinsignificantly improve the beamforming performance when there is thefrequency mismatch, and the computation complexity of these techniquesis relatively minimal.

Although the apparatus, system, and method for the frequency bandextrapolation beamforming weight computation techniques are illustratedand described herein as embodied in one or more specific examples, it isnevertheless not intended to be limited to the details shown, sincevarious modifications and structural changes may be made therein withoutdeparting from the scope of the apparatus, system, and method and withinthe scope and range of equivalents of the claims. Accordingly, it isappropriate that the appended claims be construed broadly and in amanner consistent with the scope of the apparatus, system, and methodfor the frequency band extrapolation beamforming weight computationtechniques, as set forth in the following claims.

1. A method comprising: at a first communication device, receiving atransmission at a plurality of antennas from a second communicationdevice, wherein the transmission uses some but not all frequencysubbands within a frequency band space; recovering baseband signalscarried in the frequency subbands in the received transmission;computing a channel covariance matrix from the baseband signals in thefrequency subbands with respect to the plurality of antennas of thefirst communication device; computing uplink beamforming weights fromthe baseband signals in the frequency subband from the channelcovariance matrix; computing a spatial projection of the uplinkbeamforming weights; computing frequency domain variations in thechannel between the first communication device and the secondcommunication device based on difference in time of arrival of signalsfrom different direction of arrivals at the plurality of antennas of thefirst communication device; computing a downlink spatial projection fora given frequency subband from the frequency domain variations and thespatial projection of the uplink beamforming weights; and computingdownlink beamforming weights from the downlink spatial projection,wherein the downlink beamforming weights are for use by the firstcommunication device when beamforming a downlink transmission via theplurality of antennas of the first communication device to the secondcommunication device.
 2. The method of claim 1, wherein the transmissionfrom the second communication device comprises a plurality ofsubcarriers at different frequencies in each of a plurality of tiles,and wherein computing the channel covariance matrix comprises computingJ instantaneous channel covariance matrices in the frequency domain as agroup of matrices {R_(i) _(n) }_(n=1) ^(J), where J is the number oftiles, i₁, i₂, . . . , i_(J) are the index of baseband signals forsubcarriers in J tiles respectively, and wherein computing the uplinkbeamforming weights comprises computing a group of beamforming weightvectors {W_(i) _(n) }_(n=1) ^(J) for the J tiles.
 3. The method of claim2, wherein computing the channel covariance matrix for a tile comprisescomputing${R_{i_{n}} = {\frac{1}{12}{\sum\limits_{j}{\sum\limits_{q}{\begin{bmatrix}{S_{j,q}(1)} \\{S_{j,q}(2)} \\\vdots \\{S_{j,q}(M)}\end{bmatrix}\begin{bmatrix}{S_{j,q}(1)} \\{S_{j,q}(2)} \\\vdots \\{S_{j,q}(M)}\end{bmatrix}}^{H}}}}},$ where a maximum number of subcarriers is L,such that 1≦i₁≦i₂< . . . <i_(j)≦L, and S_(j,q) (m) for 1≦m≦M denotesreceived frequency domain signals on the jth subcarrier, the qth symbol,and mth antenna of the first communication device and M is the number ofantennas of the first communication device.
 4. The method of claim 2,wherein computing the uplink beamforming weights is based on columns ofthe channel covariance matrices.
 5. The method of claim 4, whereincomputing the uplink beamforming weights comprises maximal ratiocombining of signals received at the plurality of antennas to obtain asum of columns of channel covariance matrix R_(i) _(n) as U_(i) _(n)=r_(i) _(n) _(,1)+e^(jθ) ² r_(i) _(n) _(,2)+ . . . +e^(jθ) ^(M) r_(i)_(n) _(,M), where R_(i) _(n) =[r_(i) _(n) _(,1) r_(i) _(n) _(,2) . . .r_(i) _(n) _(,M)], and r_(i) _(n) _(,m), for 1≦m≦M, is the mth columnvector in R_(i) _(n) , e_(jθ) ^(m) ={r_(i) _(n) _(,m)}^(H)r_(i) _(n)_(,1)/(abs ({r_(i) _(n) _(,m)}H r_(i) _(n) _(,1))), for 2≦m≦M, is thephase rotation of the mth column related to the first column, and abs( )stands for absolute operation.
 6. The method of claim 5, whereincomputing the uplink beamforming weights further comprises normalizingthe sum of the columns of the channel covariance matrices to produce abeamforming weight W_(i) _(n) as W_(i) _(n) =U_(i) _(n) /(norm (U_(i)_(n) )), where norm( ) is the Euclidean norm operation, therebyobtaining a group of beamforming weight vectors {W_(i) _(n) }_(n=1) ^(J)for the J tiles.
 7. The method of claim 2, wherein computing the uplinkbeamforming weights is based on rows of the channel covariance matrices.8. The method of claim 7, wherein computing the uplink beamformingweights comprises maximal ratio combining of signals received at theplurality of antennas to obtain a sum of rows of the channel covariancematrices R_(i) _(n) as U_(i) _(n) ={{tilde over (r)}_(i) _(n)_(,1)+e^(jφ) ² {tilde over (r)}_(i) _(n) _(,2)+ . . . +e^(jφ) ^(M){tilde over (r)}_(i) _(n) _(,M)}^(H), where${R_{i_{n}} = \begin{bmatrix}{\overset{\sim}{r}}_{i_{n},1} \\{\overset{\sim}{r}}_{i_{n},2} \\\vdots \\{\overset{\sim}{r}}_{i_{n},M}\end{bmatrix}},$ {tilde over (r)}_(i) _(n) _(,m), for 1≦m≦M is the mthrow vector in R_(i) _(n) , e^(jφ) ^(m) ={tilde over (r)}_(i) _(n)_(,1){{tilde over (r)}_(i) _(n) _(,m)}^(H)/(abs({tilde over (r)}_(i)_(n) _(,1){{tilde over (r)}_(i) _(n) _(,m)}^(H))), for 2≦m≦M, is thephase rotation of the mth row related to the first row, and abs( )stands for absolute operation and Hp is the Hermitian operation.
 9. Themethod of claim 8, wherein computing the uplink beamforming weightsfurther comprises normalizing the sum of the rows of the channelmatrices to produce a beamforming weight W_(i) _(n) as W_(i) _(n) =U_(i)_(n) /(norm (U_(i) _(n) )), where norm( ) is the Euclidean normoperation, thereby obtaining a group of beamforming weight vectors{W_(i) _(n) }_(n=1) ^(J) for the J tiles.
 10. The method of claim 2,wherein computing the spatial projection of the uplink beamformingweights comprises computing a spatial projection gain vector G_(i) _(n)for the beamforming weight vectors {W_(i) _(n) }_(n=1) ^(J) of the Jtiles to N_(subsector) subsectors in a space in which the first andsecond communication devices reside is divided, where G_(i) _(n) =[g_(i)_(n) _(,1) g_(i) _(n) _(,2) . . . g_(i) _(n) _(,N) _(subsector) ]^(T),g_(i) _(n) _(,k) is a complex-valued spatial projection gain for thesubsector k and the received uplink tile n, and T denotes the Transposeoperation.
 11. The method of claim 10, wherein computing the spatialprojection gain of the uplink beamforming weights comprises computing,for each beamforming weight vector W_(i) _(n) in the group of thebeamforming weights vectors {W_(i) _(n) }_(n=1) ^(J), a Fast FourierTransform operation with sizeN_(subsector, to obtain the spatial projection gain vector G) _(i) _(n)=FFT(W_(i) _(n) , N_(subsector)) in N_(subsector) subsectors, andcombining the spatial projection gains in all J received tiles as${P_{K} = {\sum\limits_{n = 1}^{J}{g_{i_{n},k}}^{2}}},$ for eachsubsector k, where 1≦k≦N_(subsector).
 12. The method of claim 10,wherein computing the spatial projection gain comprises computing anarray response vector A(θ, λ) for the plurality of antennas of the firstcommunication device A(θ, λ) for a direction of arrival θ and asubcarrier wavelength λ associated with the received uplinktransmission; computing a projection matrix Ξ=[A(φ₁,λ) A(φ₂,λ) . . .A(φ_(N) _(subsector) , λ)], for an angle φ_(k) in the subsector, for1≦k≦N_(subsector); for each beamforming weight vector W_(i) _(n) in thegroup of the beamforming weights vectors {W_(i) _(n) }_(n=1) ^(J),applying the projection matrix Ξ to beamforming weight vector W_(i) _(n), to obtain the spatial projection gain vector G_(i) _(n) inN_(subsector) subsectors as G_(i) _(n) =Ξ^(H)W_(i) _(n) , where H isHermitian operation.
 13. The method of claim 10, wherein computing thespatial projection gain further comprises comparing the spatialprojection gain P_(k) summed over all J received uplink tiles for asector_(k) with a threshold such that$g_{i_{n},k} = \{ \begin{matrix}0 & {{{if}\mspace{14mu} P_{k}} < P_{threshold}} \\g_{i_{n},k} & {{{if}\mspace{14mu} P_{k}} \geq P_{threshold}}\end{matrix} $ for all received uplink tiles (1≦n≦J) and for allsectors 1≦k≦N_(subsector).
 14. The method of claim 10, wherein computingfrequency domain variations comprises determining which subsector hasthe greatest power, denoted subsector k_(max), where${k_{\max} = {\arg \; {\max\limits_{k}P_{k}}}};$ computing a vectorof the relative spatial projection gain {tilde over (G)}_(i) _(n) as$\begin{matrix}{{\overset{\sim}{G}}_{i_{n}} = \frac{G_{i_{n}}}{g_{i_{n},k_{\max}}}} \\{= \frac{\begin{bmatrix}g_{i_{n},1} & g_{i_{n},2} & \ldots & g_{i_{n},N_{subsector}}\end{bmatrix}^{T}}{g_{i_{n},k_{\max}}}} \\{{= \begin{bmatrix}{\overset{\sim}{g}}_{i_{n},1} & {\overset{\sim}{g}}_{i_{n},2} & \ldots & {\overset{\sim}{g}}_{i_{n},N_{subsector}}\end{bmatrix}^{T}},}\end{matrix}$ where T denotes for Transpose operation; and computing atime difference of arrival of signals at from subsectors in which|{tilde over (g)}_(i) _(n) _(,k)|>0 and the arrival of signals from thesubsector k_(max) with the maximum power to produce a group of timedifference values {α_(k)} for all subsectors with |{tilde over (g)}_(i)_(n) _(,k)|>0.
 15. The method of claim 14, and further comprisingcomputing the spatial projection gain for a frequency band spanned by Ysubcarriers y_(l), such that the spatial projection gain for eachsubcarrier y_(l) is {tilde over (G)}_(y) _(l) =[{tilde over (g)}_(y)_(l) _(,1) {tilde over (g)}_(y) _(l) _(,2) . . . {tilde over (g)}_(y)_(l) _(,N) _(subsector) ]^(T), where T denotes the Transpose operation,and 1≦l≦Y.
 16. The method of claim 15, wherein computing the downlinkspatial projection comprises computing, for a given subcarrier y, anindex of a closest received tile to the subcarrier y,${i_{closest} = {\arg \; {\min\limits_{i_{n}}{{y - i_{n}}}}}},$where 1≦n≦J; and for kε[1, N_(subsector)], applying the time differenceα_(k) using a Fast Fourier Transform size L, to produce the spatialprojection gain for the frequency subcarrier y as${\overset{\sim}{g}}_{y,k} = \{ \begin{matrix}{{\overset{\sim}{g}}_{i_{closest},k}^{j\; 2{{{\pi\alpha}_{k}{({y - i_{closest}})}}/L}}} & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{closest},k}}} > 0} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{closest},k}}} = 0}\end{matrix} $ where 2πα_(k) (y−i_(closest))/L is a phaserotation to the spatial projection gain of the closest received tile;and computing the spatial projection gain for a frequency band spannedby Y subcarrier y_(l), such that the spatial projection gain for eachfrequency subcarrier y_(l) is {tilde over (G)}_(y) _(l) =[{tilde over(g)}_(y) ₁ _(,1) {tilde over (g)}_(y) _(l) _(,2) . . . {tilde over(g)}_(y) _(l) _(,N) _(subsector) ]^(T), where T denotes the Transposeoperation, and 1≦l≦Y.
 17. The method of claim 15, wherein computing thedownlink spatial projection comprises computing a vector Ω_(k) asΩ_(k)=e^(j2πα) ^(k) ^([i) ¹ ^(i) ² ^(. . . i) ^(J) ^(]/L) using thegroup of time difference values {α_(k)}between the kth subsector and thek_(max) subsector, for all k with |{tilde over (g)}_(i) _(n) _(,k)|>0;computing a parameter h_(k)=[{tilde over (g)}_(i) _(l) _(,k) {tilde over(g)}_(i) ₂ _(,k) . . . {tilde over (g)}_(i) _(J) _(,k)] Ω_(k) ^(H) fromthe vector Ω_(k) and the spatial projection gain in J received uplinktiles {tilde over (g)}_(i) _(n) _(,k), for 1≦n≦J, where H denotes theHermitian operation; updating the spatial projection gain in the Juplink tiles using the parameters {h_(k)} such that${\overset{\sim}{g}}_{i_{n},k} = \{ {\begin{matrix}{h_{k}^{{j2\pi\alpha}_{k}{i_{n}/L}}} & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{n},k}}} > 0} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{n},k}}} = 0}\end{matrix};} $ computing the spatial projection gain forsubcarrier index y as${\overset{\sim}{g}}_{y,k} = \{ {\begin{matrix}{h_{k}^{{j2\pi\alpha}_{k}{y/L}}} & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{1},k}}} > 0} \\0 & {{{if}\mspace{14mu} {{\overset{\sim}{g}}_{i_{1},k}}} = 0}\end{matrix},} $ where 2πα_(k)y/L is the phase rotation based onthe h_(k) parameter of main path in kth subsector; and computing thespatial projection gain for a frequency band spanned by Y subcarriersy_(l), such that the spatial projection gain for each frequencysubcarrier y_(l) is {tilde over (G)}_(y) _(l) =[{tilde over (g)}_(y)_(l) _(,1) {tilde over (g)}_(y) _(l) _(,2) . . . {tilde over (g)}_(y)_(l) _(,N) _(subsector) ]^(T), where T denotes the Transpose operation,and 1≦l≦Y.
 18. The method of claim 14, wherein computing the downlinkbeamforming weights comprises computing an Inverse Fast FourierTransform of the estimated spatial projection vector {tilde over(G)}_(y) _(l) in the group of the estimated spatial projection vectors{{tilde over (G)}_(y) _(l) }_(l=1) ^(Y), to obtain a vector of theinversion of the spatial projection as {tilde over (W)}_(y) _(l) =IFFT({tilde over (G)}_(y) _(l) , N_(subsector))=[{tilde over (w)}_(y) _(l)_(,1) {tilde over (w)}_(y) _(l) _(,2) . . . {tilde over (w)}_(y) _(l)_(,N) _(subsector) ] and where the downlink beamforming weights WY in afrequency band spanned by Y subcarriers y_(l) are W_(y) _(l) =[{tildeover (w)}_(y) _(l) _(,1) {tilde over (w)}_(y) _(l,2) . . . {tilde over(w)}_(y) _(l) _(,M)]^(T)/norm{[{tilde over (w)}_(y) _(l) _(,1) {tildeover (w)}_(y) _(l) _(,2) . . . {tilde over (w)}_(y) _(l) _(,M)]^(T)} for1≦l≦Y.
 19. The method of claim 12, and computing the spatial projectiongain in a frequency band spanned by Y subcarriers y_(l), such that thespatial projection gain for each frequency subcarrier y_(l) is {tildeover (G)}_(y) _(l) =[{tilde over (g)}_(y) _(l) _(,1) {tilde over(g)}_(y) _(l) _(,2) . . . {tilde over (g)}_(y) _(l) _(,N) _(subsector)]^(T), where T denotes the Transpose operation, and 1≦l≦Y.
 20. Themethod of claim 14, wherein computing the downlink beamforming weightscomprises computing for each estimated spatial projection vector {tildeover (G)}_(y1) in the group of the estimated spatial projection vectors{{tilde over (G)}_(y) _(l) }_(l=1) ^(Y), {tilde over (W)}_(y) _(l)={ΞΞ^(H)}⁻¹Ξ{tilde over (G)}_(y) _(l) =[{tilde over (w)}_(y) _(l) _(,1){tilde over (w)}_(y) _(l) _(,2) . . . {tilde over (w)}_(y) _(l)_(,M)]^(T), where T denotes the transpose operator and H denotes theHermitian operation, and where the downlink beamforming weights W_(y)_(l) in a frequency band spanned by Y subcarriers y_(l) are W_(y) _(l)=[{tilde over (w)}_(y) _(l) _(,1) {tilde over (w)}_(y) _(l) _(,2) . . .{tilde over (w)}_(y) _(l) _(,M)]^(T)/norm {[{tilde over (w)}_(y) _(l)_(,1) {tilde over (w)}_(y) _(l) _(,2) . . . {tilde over (w)}_(y) _(l)_(,M)]T} for 1≦l≦Y.
 21. An apparatus comprising: a plurality ofantennas; a transmitter coupled to the plurality of antennas, whereinthe transmitter is configured to apply beamforming weights to a transmitsignal to generate corresponding ones of a plurality of weighted signalsthat are supplied to respective ones of the plurality of antennas; acontroller coupled to the transmitter configured to: store datarepresenting reception of a transmission sent by another communicationdevice and received at the plurality of antennas, wherein thetransmission uses some but not all frequency subbands within a frequencyband space and wherein the data represents baseband signals carried inthe frequency subbands of the received transmission; compute a channelcovariance matrix from data representing the baseband signals in thefrequency subbands with respect to the plurality of antennas of thefirst communication device; compute uplink beamforming weights from thebaseband signals in the frequency subband from the channel covariancematrix; compute a spatial projection of the uplink beamforming weights;compute a downlink spatial projection for a given frequency subband fromthe spatial projection of the uplink beamforming weights; and computedownlink beamforming weights from the downlink spatial projection,wherein the downlink beamforming weights are for use by the firstcommunication device when beamforming a downlink transmission via theplurality of antennas of the first communication device to the secondcommunication device.
 22. The apparatus of claim 21, wherein thecontroller is further configured to compute frequency domain variationsin the channel between the first communication device and the secondcommunication device based on difference in time of arrival of signalsfrom different direction of arrivals at the plurality of antennas of thefirst communication device, and to compute the downlink spatialprojection for a given frequency subband based on the spatial projectionof the uplink beamforming weights and the frequency domain variations.23. Logic encoded in one or more tangible media for execution and whenexecuted operable to: store data representing reception of atransmission sent by a second communication device and received at aplurality of antennas of a first communication device, wherein thetransmission uses some but not all frequency subbands within a frequencyband space and wherein the data represents baseband signals carried inthe frequency subbands of the received transmission; compute a channelcovariance matrix from data representing the baseband signals in thefrequency subbands with respect to the plurality of antennas of thefirst communication device; compute uplink beamforming weights from thebaseband signals in the frequency subband from the channel covariancematrix; compute a spatial projection of the uplink beamforming weights;compute a downlink spatial projection for a given frequency subband fromthe frequency domain variations and the spatial projection of the uplinkbeamforming weights; and compute downlink beamforming weights from thedownlink spatial projection, wherein the downlink beamforming weightsare for use by the first communication device when beamforming adownlink transmission via the plurality of antennas of the firstcommunication device to the second communication device.
 24. The logicof claim 23, and further comprising logic configured to computefrequency domain variations in the channel between the firstcommunication device and the second communication device based ondifference in time of arrival of signals from different direction ofarrivals at the plurality of antennas of the first communication device,and wherein the logic to compute the downlink spatial projection for agiven frequency subband is configured to compute the downlink spatialprojection based on the spatial projection of the uplink beamformingweights and the frequency domain variations.